package com.yanqu.road.entity.activity.feast.data;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.ArrayList;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_c_feast_pvp_data")
public class CrossFeastPvpData extends DataObject {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "当前轮次")
    private int round;

    @FieldTypeAnnotation(desc = "锁定状态，每轮重置")
    private boolean lockState;

    @FieldTypeAnnotation(desc = "更新时间,检测活动状态")
    private long updateTime;

    @FieldTypeAnnotation(desc = "结算状态")
    private boolean settle;

    private List<Integer> endNoticeTimeList = new ArrayList<>();

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public boolean isLockState() {
        return lockState;
    }

    public void setLockState(boolean lockState) {
        if (this.lockState != lockState) {
            this.lockState = lockState;
            setOp(DataStatus.Update);
        }
    }


    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        if (this.round != round) {
            this.round = round;
            setOp(DataStatus.Update);
        }
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(long updateTime) {
        if (this.updateTime != updateTime) {
            this.updateTime = updateTime;
            setOp(DataStatus.Update);
        }
    }

    public boolean isSettle() {
        return settle;
    }

    public void setSettle(boolean settle) {
        if(this.settle != settle) {
            this.settle = settle;
            setUpdateOption();
        }
    }

    public List<Integer> getEndNoticeTimeList() {
        return endNoticeTimeList;
    }

    public void setEndNoticeTimeList(List<Integer> endNoticeTimeList) {
        this.endNoticeTimeList = endNoticeTimeList;
    }
}
